/*
 * 描述： <描述>
 * 修改人： Evan.fang
 * 修改时间： 2018年4月20日
 * 项目： los-core
 */
package com.aeasycredit.credit.tuef.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.aeasycredit.credit.tuef.dao.TuefAccountDao;
import com.aeasycredit.credit.tuef.dao.TuefAddressDao;
import com.aeasycredit.credit.tuef.dao.TuefAliasNameDao;
import com.aeasycredit.credit.tuef.dao.TuefBasicDao;
import com.aeasycredit.credit.tuef.dao.TuefContactDao;
import com.aeasycredit.credit.tuef.dao.TuefCreditExposureDao;
import com.aeasycredit.credit.tuef.dao.TuefEnquiryAlertDao;
import com.aeasycredit.credit.tuef.dao.TuefHeaderDao;
import com.aeasycredit.credit.tuef.dao.TuefNameDao;
import com.aeasycredit.credit.tuef.dao.TuefPetitionDao;
import com.aeasycredit.credit.tuef.dao.TuefPetitionNoticeDao;
import com.aeasycredit.credit.tuef.dao.TuefPublicAddressDao;
import com.aeasycredit.credit.tuef.dao.TuefPublicNameDao;
import com.aeasycredit.credit.tuef.dao.TuefScoreDao;
import com.aeasycredit.credit.tuef.dao.TuefSummaryDao;
import com.aeasycredit.credit.tuef.dao.TuefSuperSetDao;
import com.aeasycredit.credit.tuef.dao.TuefTrendInsightDao;
import com.aeasycredit.credit.tuef.dao.TuefWritDao;
import com.aeasycredit.credit.tuef.model.TuefAccount;
import com.aeasycredit.credit.tuef.model.TuefAddress;
import com.aeasycredit.credit.tuef.model.TuefAliasName;
import com.aeasycredit.credit.tuef.model.TuefBasic;
import com.aeasycredit.credit.tuef.model.TuefContact;
import com.aeasycredit.credit.tuef.model.TuefCreditExposure;
import com.aeasycredit.credit.tuef.model.TuefEnquiryAlert;
import com.aeasycredit.credit.tuef.model.TuefHeader;
import com.aeasycredit.credit.tuef.model.TuefName;
import com.aeasycredit.credit.tuef.model.TuefPetition;
import com.aeasycredit.credit.tuef.model.TuefPetitionNotice;
import com.aeasycredit.credit.tuef.model.TuefPublicAddress;
import com.aeasycredit.credit.tuef.model.TuefPublicName;
import com.aeasycredit.credit.tuef.model.TuefScore;
import com.aeasycredit.credit.tuef.model.TuefSummary;
import com.aeasycredit.credit.tuef.model.TuefWrit;
import com.aeasycredit.credit.tuef.service.TuefCreditReportQueryService;

/**
 * <功能简述><br>
 * 
 * @author Evan.fang
 * @version [版本号, 2018年4月20日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Service
public class TuefCreditReportQueryServiceImpl implements TuefCreditReportQueryService{

	@Autowired
    private TuefBasicDao tuefBasicDao;
    
    @Autowired
    private TuefAddressDao tuefAddressDao;
    
    @Autowired
    private TuefContactDao tuefContactDao;
    
    @Autowired
    private TuefCreditExposureDao tuefCreditExposureDao;
    
    @Autowired
    private TuefHeaderDao tuefHeaderDao;
    
    @Autowired
    private TuefScoreDao tuefScoreDao;
    
    @Autowired
    private TuefSummaryDao tuefSummaryDao;
    
    @Autowired
    private TuefAccountDao tuefAccountDao;
    
    @Autowired
    private TuefEnquiryAlertDao tuefEnquiryAlertDao;
    
    @Autowired
    private TuefWritDao tuefWritDao;
    
    @Autowired
    private TuefPublicAddressDao tuefPublicAddressDao;
    
    @Autowired
    private TuefPublicNameDao tuefPublicNameDao;
    
    @Autowired
    private TuefAliasNameDao tuefAliasNameDao;
    
    @Autowired
    private TuefNameDao tuefNameDao;
    
    @Autowired
    private TuefPetitionDao tuefPetitionDtao;
    
    @Autowired
    private TuefPetitionNoticeDao tuefPetitionNoticeDao;
    
    @Autowired
    private TuefSuperSetDao tuefSuperSetDao;
	
    @Autowired
    private TuefTrendInsightDao tuefTrendInsightDao;
	
    @Override
	public TuefHeader getTuefHeader(String tuefBasicId) {
		return tuefHeaderDao.selectByTuefBasicId(tuefBasicId);
	}

	@Override
	public TuefBasic getTuefBasic(String userId, String tuefId) {
		return tuefBasicDao.getModelByUserIdAndTuefId(userId, tuefId);
	}

	@Override
	public List<TuefAddress> getTuefAddressList(String tuefBasicId) {
		return tuefAddressDao.getTuefAddressList(tuefBasicId);
	}

	@Override
	public List<TuefContact> getTuefContactList(String tuefBasicId) {
		return tuefContactDao.getTuefContactList(tuefBasicId);
	}

	@Override
    public List<TuefScore> getTuefScoreList(String tuefBasicId) {
        return tuefScoreDao.selectByTuefBasicId(tuefBasicId);
    }

	@Override
	public TuefSummary getTuefSummary(String tuefBasicId) {
		return tuefSummaryDao.selectByTuefBasicId(tuefBasicId);
	}

	@Override
	public List<TuefCreditExposure> getTuefCreditExposureList(String tuefBasicId) {
		return tuefCreditExposureDao.getTuefCreditExposureList(tuefBasicId);
	}

	@Override
	public List<TuefEnquiryAlert> getTuefEnquiryAlertList(String tuefBasicId) {
		return tuefEnquiryAlertDao.getTuefEnquiryAlertList(tuefBasicId);
	}

	@Override
	public List<TuefAccount> getTuefAccountList(String tuefBasicId) {
		return tuefAccountDao.getTuefAccountList(tuefBasicId);
	}

	@Override
	public List<TuefWrit> getTuefWritList(String tuefBasicId) {
		return tuefWritDao.getTuefWritList(tuefBasicId);
	}

	@Override
	public List<TuefPublicAddress> getWRTuefPublicAddress(String referenceId) {
		return tuefPublicAddressDao.getWRTuefPublicAddressList(referenceId);
	}

	@Override
	public List<TuefPublicName> getWRTuefPublicNameList(String referenceId) {
		return tuefPublicNameDao.getWRTuefPublicNameList(referenceId);
	}

	@Override
	public List<TuefAliasName> getTuefAliasNameList(String tuefBasicId) {
		return tuefAliasNameDao.getTuefAliasNameList(tuefBasicId);
	}

	@Override
	public List<TuefName> getTuefNameList(String tuefBasicId) {
		return tuefNameDao.getTuefNameList(tuefBasicId);
	}

	@Override
	public List<TuefPetition> getTuefPetitionList(String tuefBasicId) {
		return tuefPetitionDtao.getTuefPetitionList(tuefBasicId);
	}

	@Override
	public TuefPetitionNotice getTuefPetitionNotice(String referenceId) {
		return tuefPetitionNoticeDao.getTuefPetitionNotice(referenceId);
	}

	@Override
	public List<TuefPublicAddress> getPTTuefPublicAddress(String referenceId) {
		return tuefPublicAddressDao.getPTTuefPublicAddress(referenceId);
	}

	@Override
	public List<TuefPublicName> getPTTuefPublicNameList(String referenceId) {
		return tuefPublicNameDao.getPTTuefPublicNameList(referenceId);
	}

    @Override
    public int getSuperSetCountByTuefBasicId(String tuefBasicId) {
        return tuefSuperSetDao.getCountByTuefBasicId(tuefBasicId);
    }

    @Override
    public int getTrendInsightCountByTuefBasicId(String tuefBasicId) {
        return tuefTrendInsightDao.getCountByTuefBasicId(tuefBasicId);
    }

}
